<?php
	include_once('Querys.php');
	include_once('vo/Archivo.php');
	
	class ArchivoService extends Querys{
		
		var $tabla = "archivos";	
		
		public function getById($id){
			$result = $this->consulta("SELECT archivos.*, usuarios.nombre AS usuario FROM ".$this->tabla." JOIN usuarios ON archivos.id_usuario = usuarios.id WHERE archivos.id = $id");
			$fila = $this->fetch($result);				
			
			return $this->armarArchivo($fila);
		}
		
		public function getByProyecto($id_proyecto){
			$result = $this->consulta("SELECT archivos.*, usuarios.nombre AS usuario FROM ".$this->tabla." JOIN usuarios ON archivos.id_usuario = usuarios.id WHERE id_proyecto = $id_proyecto");
			
			$archivos = array();
			
			while($fila = $this->fetch($result)){				
				$archivos[] = $this->armarArchivo($fila);
			}
			
			return $archivos;
			
		}
		
		public function getNuevos($id_proyecto){
			$result = $this->consulta("SELECT COUNT(*) AS nuevos FROM ".$this->tabla." WHERE id_proyecto = $id_proyecto AND fecha > DATE_SUB(CURDATE(),INTERVAL 7 DAY)");
			$fila = $this->fetch($result);
			
			return $fila["nuevos"];
		}
		
		public function save(Archivo $archivo){
			if($this->consulta("INSERT INTO ".$this->tabla." VALUES (null, '".$archivo->ruta."', '".$archivo->extension."', '".$archivo->peso."', CURDATE(), ".$archivo->usuario.", ".$archivo->id_proyecto.")")){
				return $this->getById(mysql_insert_id());
			}
		}
		
		public function delete($id){
			if($this->consulta("DELETE FROM ".$this->tabla." WHERE id = $id")){
				return true;
			}
		}
		
		private function armarArchivo($fila){
			$archivo = new Archivo();
			
			$archivo->id = $fila["id"];
			$archivo->ruta = $fila["ruta"];
			$archivo->extension = $fila["extension"];
			$archivo->peso = $fila["peso"];
			$archivo->fecha = $fila["fecha"];
			$archivo->usuario = $fila["usuario"];
			$archivo->id_proyecto = $fila["id_proyecto"];
			
			return $archivo;
		}
		
	}
?>